runge_kutta_module Module

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!



Abstract Interfaces

abstract interface

  • public subroutine Iderivs_func(x, y, dydx)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=wp), intent(in) :: x
    real(kind=wp), intent(in) :: y(:)
    real(kind=wp), intent(inout) :: dydx(:)

Subroutines

public subroutine rkqc(y, dydx, n, x, htry, eps, yscal, hdid, hnext, derivs)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(inout) :: y(n)
real(kind=wp), intent(inout) :: dydx(n)
integer, intent(in) :: n
real(kind=wp), intent(inout) :: x
real(kind=wp), intent(in) :: htry
real(kind=wp), intent(in) :: eps
real(kind=wp), intent(in) :: yscal(n)
real(kind=wp), intent(inout) :: hdid
real(kind=wp), intent(inout) :: hnext
procedure(Iderivs_func) :: derivs

public subroutine rk4(y, dydx, n, x, h, yout, derivs)

Arguments

Type IntentOptional Attributes Name
real :: y
real :: dydx
integer, intent(in) :: n
real :: x
real :: h
real :: yout
procedure(Iderivs_func) :: derivs

public subroutine runge_kutta_qs(y, dydx, n, x, htry, eps, yscal, hdid, hnext, derivs)

метод рунге-кутта

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(inout) :: y(n)
real(kind=wp), intent(inout) :: dydx(n)
integer, intent(in) :: n
real(kind=wp), intent(inout) :: x
real(kind=wp), intent(in) :: htry
real(kind=wp), intent(in) :: eps
real(kind=wp), intent(in) :: yscal(n)
real(kind=wp), intent(inout) :: hdid
real(kind=wp), intent(inout) :: hnext
procedure(Iderivs_func) :: derivs

public subroutine rkck(y, dydx, n, x, h, yout, yerr, derivs)

метод рунге-кутта, нужны подробности

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: y(n)
real(kind=wp), intent(in) :: dydx(n)
integer, intent(in) :: n
real(kind=wp), intent(in) :: x
real(kind=wp), intent(in) :: h
real(kind=wp), intent(out) :: yout(n)
real(kind=wp), intent(out) :: yerr(n)
procedure(Iderivs_func) :: derivs